{{tag>Jaunty Lucid partage réseau tutoriel BROUILLON}}
------

====== Comment partager une connexion internet entre un PC et une Xbox 360 ======


Ce tutoriel a pour but d'expliquer comment partager une connexion internet entre un PC sous Ubuntu et une Xbox 360.


Il est basé en très grande partie sur la documentation [[:Partage de connexion Internet]].


===== Configuration =====

PC Ubuntu connecté en Wifi à une LiveBox  [Connexion internet wlan0]
Xbox 360 connecter en câble réseau au PC Ubuntu  [Connexion eth0]

<note tip>Nous utiliserons une Livebox pour la suite; //Les autres routeurs/box sont compatibles en adaptant la méthode//: FIXME Qu'est qu'il faut changer ? .</note>
//:FIXME : Il faut vraiment changer la méthode ? Normalement cette page s'applique à TOUTES les box du moment où votre ordinateur est connecté à internet.
===== Méthode 1 (Ubuntu 10.04 LTS et plus !) =====
==== Côté PC  ====

  - Branchez le câble Ethernet (il doit être croisé , il est inclus avec le pack Xbox 360 élite )
  - Sur le tableau de bord, faites un clic droit sur l'applet réseau //Networkmanager -> Modification des connexions...// ; ou encore, par le menu //Système → Préférences → Connexions réseau// ;
  - Dans l'onglet **Filaire**, cliquez sur la carte réseau qui apparait et appuyer sur « Modifier ».
  - Allez dans l'onglet **Paramètres IPv4**, réglez « Méthode : » à « Partagée avec d'autres ordinateurs ».
  - Faites « Appliquer ».

==== Côté Xbox 360 ====

Dans les paramètres réseau, mettez le tout en automatique (C'est la configuration par défaut, donc vous n'avez rien à changé)

Testez la connexion à XboxLive , cela devrait marcher. :D

=====Méthode 2 (Ubuntu 8.10) =====
==== Installation côté PC  ====

**Le câble réseau doit être pour le moment débranché !**

  - [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] [[apt://dnsmasq|dnsmasq]]
  - Ouvrez la configuration du réseau (//Système → Préférences → Network Configuration//)
  - Cliquez sur la carte réseau avec laquelle vous voulez partager votre connexion (dans mon cas eth0) puis sur modifier, dans l'onglet Paramètres IPV4 en sélectionnant Méthode Manuelle:
  - Cliquez sur Ajouter, et renseigner les champs:
    * Adresse  : 192.168.10.1
    * Masque de réseau : 255.255.255.0
    * Passerelle : Vide
  - Faites Valider puis Fermer.


Ensuite, pour trouver le nom de l'interface réseau reliée à Internet et le nom de la carte qui servira au partage, entrez, dans un [[:terminal]] :

  ifconfig

Vous devez retrouver quelque chose qui ressemble à ça :

    eth0    Lien encap:Ethernet  HWaddr 00:15:C5:79:59:B5 
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:1000
              Octets reçus:0 (0.0 b) Octets transmis:0 (0.0 b)
              Interruption:17
  
    wlan0   Lien encap:Ethernet  HWaddr 00:19:D2:D6:0E:69 
              inet adr:192.168.0.75  Bcast:192.168.0.255  Masque:255.255.255.0
              adr inet6: fe80::219:d2ff:fed6:e69/64 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Packets reçus:767 erreurs:4 :39 overruns:0 frame:0
              TX packets:825 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:1000
              Octets reçus:687753 (671.6 KB) Octets transmis:107141 (104.6 KB)
  

    lo        Lien encap:Boucle locale 
              inet adr:127.0.0.1  Masque:255.0.0.0
              adr inet6: ::1/128 Scope:Hôte
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              Packets reçus:60 erreurs:0 :0 overruns:0 frame:0
              TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0
              Octets reçus:3947 (3.8 KB) Octets transmis:3947 (3.8 KB)

Dans mon cas, l'interface réseau qui va partager la connexion est eth0, car elle n'a pas de ligne de ce genre :

//inet adr:192.168.0.75  Bcast:192.168.0.255  Masque:255.255.255.0
adr inet6: fe80::219:d2ff:fed6:e69/64 Scope:Lien//

Ce qui signifie qu'elle n'est pour l'instant reliée à aucun réseau ...


==== Configuration de dnsmasq ====

Tous d'abord sauvegardons le fichier de configuration original ailleurs, en tapant dans un terminal, ceci:

  sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig


[[:tutoriel:comment_modifier_un_fichier|Éditez le fichier]] **/etc/dnsmasq.conf** pour y mettre ça :

<file>
# Fichier de Configuration pour dnsmasq.
#
# pour éviter de fournir du trafic DHCP/DNS inutile du coté internet
##domain-needed
bogus-priv
# (Optionnel) Si vous avez une ip fixe,
# décommentez cette ligne.
# no-poll
# pour limiter l'écoute de requêtes DHCP du coté réseau local
interface=eth0
# nom de votre domaine pour dnsmasq
domain=inet
# activez le serveur DHCP:
dhcp-range=192.168.10.100,192.168.10.150,255.255.255.0,12h
</file>

Enregistrez le fichier.


Faire un script d'exécution automatique du partage de connexion
[[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/init.d/iptables** contenant ces lignes :

<code bash>#!/bin/sh
#
# Script de démarrage qui lance l'interface réseau internet,
# met en place un firewall basique et un partage de connexion
#
# Inspiré du script de Mjules_at_ifrance.com
#
 
interface=wlan0
 
start() {
# init du la périphérique internet (ici derriere un modem ADSL ethernet, DHCP client)
 
/sbin/ifup $interface
 
# Dans cette partie, on met en place le firewall
#vidage des chaines
iptables -F
#destruction des chaines personnelles
iptables -X
 
#stratégies par défaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
 
#init des tables NAT et MANGLE (pas forcément nécessaire)
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
 
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
 
 
# Acceptation de toutes les connexions en local (un process avec l'autre)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
 
# PORT FORWARDING:
# attention : on ne peut malheureusement pas mettre un nom de machine en destination, il faut mettre l'adresse IP.
# exemple : on veut qu'un serveur HTTP installé sur une machine du réseau local soit visible depuis l'extérieur.
###iptables -t nat -A PREROUTING -i $interface -p tcp --dport 80 -j DNAT --to-destination 192.168.10.121:80
###iptables -A FORWARD -p tcp -i $interface --dport 80 -j ACCEPT
 
 
#création d'une nouvelle règle
iptables -N MAregle
 
#définition de la règle : accepter les nouvelles connexions ne venant pas de l'interface internet
# et accepter toutes les connexions établies et reliées (ex: une demande de page HTML provoque l'ouverture
# d'une connexion reliée pour acheminer cette page vers l'ordinateur)
 
iptables -A MAregle -m state --state NEW -i! $interface -j ACCEPT
iptables -A MAregle -m state --state ESTABLISHED,RELATED -j ACCEPT
 
#application de la règle au partage de connexion
iptables -A INPUT -j MAregle
iptables -A FORWARD -j MAregle
 
# activation du forwarding dans le noyau
# mise en place du partage de connexion sur le réseau local
 
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o $interface -j MASQUERADE
 
}
 
stop() {
        echo 0 >/proc/sys/net/ipv4/ip_forward
        ifdown $interface
}
 
case "$1" in
 start)
        start
        ;;
 
stop)
        stop
        ;;
restart)
        stop && start
        ;;
*)
        echo "Usage $0 {start|stop|restart}"
        exit 1
esac
 
exit 0</code>

Enregistrez le fichier.



Exécutez ensuite dans un terminal :

  sudo chmod +x /etc/init.d/iptables

puis :
<code>sudo update-rc.d iptables start 99 2 . stop 00 2 0 1 6 .</code>

C'est fini, comment ça marche ?

Et voila, branchez enfin les câbles, redémarrer votre PC Ubuntu puis redémarrer vote Xbox360.
Quand une machine du réseau local démarre, voici ce qu'elle fait :
recherche d'un serveur DHCP –> le serveur ICS répond.
le serveur ICS fournit une adresse DHCP dans la plage 192.168.10.100 à 192.168.10.150.
le serveur ICS renseigne le fichier /etc/resolv.conf de votre machine automatiquement : il se met lui-même (192.168.10.1), car il est serveur relais DNS.
le serveur ICS renseigne la route par défaut. Il se donne lui-même en route par défaut car c'est lui qui effectue le partage de la connexion internet.




====Installation côté Xbox 360 ====
  * **Paramétre IP :** Manuelle
  * **Adresse IP :**  192.168.10. xxx (xxx : valeur comprise entre 100 et 150)
  * **Masque sous-réseaux :** 255.255.255.0
  * **Portail :** 192.168.10.1

Sélectionner le DNS Manuel
  * **DNS Primaire :** 192.168.1.1 ( Pour la Livebox )
  * **DNS Secondaire :** vide ( Pour la Livebox )

===== Voir aussi =====
  * Discussion [[http://forum.ubuntu-fr.org/viewtopic.php?pid=2228323#p2228323|« [RESOLU] partage connexion pc-->wifi avec xbox360-->ethernet »]] sur le forum Ubuntu-fr

----
//Contributeurs : ...//
